Towards Model-Checking Contracts
نویسندگان
چکیده
We understand by a contract a document written in natural language which engages several parties into a transaction, and which stipulates commitments (obligations, rights, and prohibitions) of the parties. Moreover the contract specifies also reparations in case of contract violation (i.e. some obligations or prohibitions are not respected). Because the human language is ambiguous by nature, contracts (written in plain English, for example) are inherent ambiguous. This ambiguity can, and many times is exploited by the parties involved in the contract. The purpose of our research is to eliminate this ambiguity as much as possible and to automate the process of designing, negotiation and monitoring of contracts. For this purpose contracts should be amenable to formal analysis (including model-checking) and thus should be written in a formal language. There are currently several different approaches aiming at defining a formal language for contracts. Some works concentrate on the definition of contract taxonomies [1], while others look for formalizations based on logics (e.g. classical [4], modal [3], deontic [6] or defeasible logic [5]). Other formalizations are based on models of computation (e.g. FSMs [7], Petri Nets [2], or process calculi [12]). None of the above has reached enough maturity as to be considered the solution to the problems of formal definition of contracts. In our opinion, the most promising approach to formalizing contracts is the one based on logics of actions [13,14] (i.e. actions found in contracts). It has been argued for the need to base deontic logic on a theory of actions which would solve many of the paradoxes deontic logic faces. The method of model-checking is an old and established field of computer science. Model-checking has been applied in several fields of computer science from hardware circuits to concurrent programs. The idea of model-checking electronic contracts is extremely new and of great interest. From our knowledge there has been no attempt of using the classical model-checking techniques (or an established model-checking tool) on a real electronic contract example. Model-checking tools usually describe the system as an automata-like structure and the property to be checked in a temporal logic (like CTL, LTL, or μ-calculus). With the contract written in a formal language with semantics based on a Kripke-like structure we wold have the automaton input for the model-checking tools. Our aim is to define a general framework for describing in a uniform way both the contract and the properties. In [11] we have provided a formal language for writing contracts, which allows to write (conditional) obligations, permissions and prohibitions over (names of) human actions as well as reparations in case of violations. The language is specially tailored for representing statements found in contracts and is proven to avoid major deontic paradoxes (for motivations and design decisions we refer the reader to [11]). Here we briefly sketch and discuss the ideas behind the syntax of the contract language CL.
منابع مشابه
Towards Realizability Checking of Contracts Using Theories
Virtual integration techniques focus on building architectural models of systems that can be analyzed early in the design cycle to try to lower cost, reduce risk, and improve quality of complex embedded systems. Given appropriate architectural descriptions and compositional reasoning rules, these techniques can be used to prove important safety properties about the architecture prior to system ...
متن کاملTowards verifying compliance in agent-based web service compositions
We explore the problem of specification and verification of compliance in agent based Web service compositions. We use the formalism of temporal-epistemic logic suitably extended to deal with compliance/violations of contracts. We illustrate these concepts using a motivating example where the behaviours of participating agents are governed by contracts. The composition is specified in OWL-S and...
متن کاملModel-Based Analysis of Contract-Based Real-Time Scheduling
We apply automata theory to analyze the schedulability of real-time component-based applications running on uniform multi-processor platforms. The resource requirements of each application or application component are specified in a service contract resulting a hierarchy of contracts. As we are interested in determining the schedulability of such applications, this hierarchy of contracts is map...
متن کاملTest Case Generation for Visual Contracts Using AI Planning
In this paper, we propose a novel approach for computing test case preambles using visual contracts and AI Planning. In unit testing, preambles are required for setting the class under test into a controlled state (prestate). The class operation can then be invoked with test inputs. In previous research, we have used model checking for computing preambles. In this paper, we show how preamble co...
متن کاملPrecise Documentation of Requirements and Executable Specifications
We propose a format for precise documentation of requirements to drive the development of dependable software products and to provide evidence for their certification. Requirements are elicited from customers and expressed informally as atomic English descriptions. To analyze the consistency of the requirements, we translate them into a software specification consisting of model contracts and t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007